草庐IT

Spring 依赖注入

全部标签

c# - 避免从 C# 代码在 MSSQL Server 上进行 SQL 注入(inject)的算法?

在C#.net平台上避免SQL注入(inject)的最佳方法是什么。如果有的话,请发布C#实现。 最佳答案 不需要算法-只是不使用字符串连接来构建SQL语句。请改用SqlCommand.Parameters集合。这会执行所有必要的值转义(例如将'替换为'')并确保该命令是安全的,因为其他人(即Microsoft)已经完成了所有测试.例如调用存储过程:using(varconnection=newSqlConnection("..."))using(varcommand=newSqlCommand("MySprocName",conn

C#:如何包含依赖的 DLL?

我正在使用在2个DLL中定义的第3方API。我已将这些DLL包含在我的项目中并设置对它们的引用。到目前为止,一切都很好。但是,这些DLL至少有一个在运行时无法找到的依赖DLL。我将丢失的DLL复制到项目中并设置了“复制到输出”标志,但没有成功。我应该在这里做什么来告诉项目它应该在哪里找到依赖的DLL?澄清我尝试添加对丢失的DLL的引用,但因为它未被识别为.Net组件。无奈之下,我直接将其添加到输出文件夹中,但没有成功。最后,我在PC上安装了API,一切正常。安装设置PATH变量,DLL位于安装文件夹中。但是如何告诉项目查看其内部文件夹之一? 最佳答案

c# - 从类中分解所有依赖项的最简单、最快的方法

在使用遗留代码并尝试创建测试时,我经常从类或方法中分离出依赖关系,这样我就可以使用模拟来为这些依赖关系编写单元测试。依赖性最常见的形式是调用静态类和使用构造函数中的new关键字或该类中的其他位置创建的对象。在大多数情况下,静态调用是通过包装静态依赖项来处理的,或者如果它是StaticClass.Current.MethodCall()形式的单例模式(或类似模式),则通过其接口(interface)传递该依赖项来代替构造函数。在大多数情况下,在构造函数中使用new关键字只是通过在构造函数中传递该接口(interface)来代替。在大多数情况下,在类的其他部分使用new关键字,要么通过与上

c# - .NET Core/EF 6 - 依赖注入(inject)范围

我目前正在使用EF6设置.NETCore应用程序,但在理解如何正确使用各种依赖项注册方法时遇到了一些困难。据我了解:Transient:对象在需要时创建(即每次请求时创建一个新实例)Singleton:在应用程序启动时创建的单个实例,可用于所有后续请求Scoped:在请求期间可用特别是在我的情况下,我设置了一对DbContext(基于CQRS模式)来处理我注册为Scoped的数据库查询/命令:services.AddScoped((_)=>newTestCommandContext(Configuration["Data:TestConnection:ConnectionString"

c# - 使用 Ninject 的 ASP.NET WebAPI ActionFilters 的依赖注入(inject)不起作用

我正在尝试使用Ninject在ASP.NETWebAPI中的ActionFilters上设置DI。我按照这里的说明操作:https://github.com/ninject/Ninject.Web.WebApi/wiki/Dependency-injection-for-filters我这样创建我的ActionFilter:publicclassApiAuthorizeFilter:AbstractActionFilter{privatereadonlyIValidateApiTokenService_validateApiTokenService;publicApiAuthorize

c# - MEF 依赖关系和版本控制

我有一个使用MEF加载部件的系统。这些部分中的每一个都依赖于一个核心库。当我构建项目时,我将版本号添加到.dll文件中,如下所示:part1-1.0.0.0.dllpart2-1.0.0.0.dll此外,还有一个执行MEF组合的应用程序。它还使用核心库。我发现我可以只部署“部分”dll,并且组合工作正常,因为应用程序已经加载了部分所依赖的核心库。所以我的文件系统看起来像这样:/parts/part1-v1.dll/parts/part2-v1.dllcomposer-v1.exe核心v1.exe我遇到的问题是如何处理核心和部分的版本控制。假设我对核心和其中一个部分进行了更新。然后,我部

c# - Entity Framework 种子方法的依赖注入(inject)?

EntityFramework6的Configuration类是否可以注入(inject)依赖?例如,像这样:internalsealedclassConfiguration:DbMigrationsConfiguration{privatereadonlyILogger_logger;publicConfiguration(ILoggerlogger){this._logger=logger;AutomaticMigrationsEnabled=true;}protectedoverridevoidSeed(Home.DAL.Data.HomeBaseContextcontext){

c# - 限制 wpf 中的附加依赖属性

我只想将依赖属性附加到特定控件。如果这只是一种类型,我可以这样做:publicstaticreadonlyDependencyPropertyMyPropertyProperty=DependencyProperty.RegisterAttached("MyProperty",typeof(object),typeof(ThisStaticWrapperClass));publicstaticobjectGetMyProperty(MyControlcontrol){if(control==null){thrownewArgumentNullException("control");}

c# - 如何注册两个实现然后在 .Net Core 依赖注入(inject)中获得一个

我的部分代码依赖于同一接口(interface)的多个实现,而其他部分依赖于其中一个实现。我正在注册如下实现:services.AddSingleton();services.AddSingleton();然后在需要时获取两个实现,例如:varimplementations=serviceProvider.GetServices();我的问题是当我需要其中之一时,我正在尝试以下返回null的方法:varfirstImplementation=serviceProvider.GetService();当然我可以使用:varimplementations=serviceProvider.G

c# - 是否可以使用 ILMerge 仅合并依赖项的子集?

我正在尝试一些探索性的东西:假设我有一个库“coolproject”,它依赖于one.dll、two.dll和three.dll。我想使用ILMerge将coolproject与one.dll和two.dll结合,但不是three.dll。合并完成后,我应该有coolproject.dll和three.dll。无论我打算在何处使用coolproject.dll,我还必须引用three.dll这可能吗?每当我尝试时,我都会得到。不允许未解析的程序集引用:三个。我通过设置“CopyLocal”=false来省略three.dll。[编辑]:执行如下:ILMerge/targetplatfo